﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Kaidou.Model;
using Kaidou.Persister;
using Kaidou.Util;
using System.Collections.Generic;
using System.Globalization;
using System.Text.RegularExpressions;


/**
 *各パラメータの正当性をチェックするクラス
 */
namespace Kaidou.Util
{
    public class ParameterCheckUtility
    {

        /**
        *組合員コードのチェックを行なう
        */
        public static bool checkUnionCode(InputErrorException ie, string union_code)
        {
            bool flag = true;

            if (StringUtil.isEmpty(union_code))
            {
                ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_NULL));
                flag = false;
            }
            else
            {
                // 半角文字チェック
                if (!StringUtil.isAscii(union_code))
                {
                    ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_HAN_STR_OK));
                    flag = false;
                }
                // 半角カナチェック true:エラー false:正常
                else if (StringUtil.containsHankakuKana(union_code))
                {
                    ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_HAN_STR_OK));
                    flag = false;
                }
                //小文字アルファベットのチェック true:エラー false:正常
                else if (StringUtil.containsAlpha_komozi(union_code))
                {
                    ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_NOT_KOMOZI));
                    flag = false;
                }
                // レングスチェック
                else if (StringUtil.length(union_code) != 5)
                {
                    ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_LENGTH_NG));
                    flag = false;
                }
                //組合員コードの許可アルファベットのチェック true:エラー false:正常
                else if (StringUtil.containsInitial(union_code))
                {
                    ie.addErrorCode((ErrorCodeDefine.UNION_CODE_IS_NOT_INITIAL));
                    flag = false;
                }

            }
            return flag;
        }

        /**
        * 組合員チェック
        * @return 存在しない場合:False
        */
        public static bool existUnion(InputErrorException ie, string union_code)
        {
            bool flag = true;
            //組合員コード重複チェック
            MST_UnionPersister dao = new MST_UnionPersister();
            //組合員コード存在チェック
            if (checkUnionCode(ie, union_code))
            {
                MstUnion M = dao.getDetail(union_code);
                if (M == null)
                {
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_NOT_REG);
                    flag = false;
                }
                else if (M.UnionSts.Equals(StringUtil.STATUS_DELETE))
                {
                    //組合員コードが削除されている
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_DELETE);
                    flag = false;
                }
            }
            else
            {
                flag = false;
            }

            return flag;
        }

        /**
        * 組合員チェック
        * @return 存在しなければ:True
        */
        public static bool notexistUnion(InputErrorException ie, string union_code)
        {
            bool flag = true;
            MST_UnionPersister dao = new MST_UnionPersister();
            //組合員コード存在チェック
            if (checkUnionCode(ie, union_code))
            {
                if (dao.getDetail(union_code) != null)
                {
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_REG);
                    flag = false;
                }
            }
            else
            {
                flag = false;
            }

            return flag;
        }

        /**
        * 支店コードチェック
        */
        public static bool checkBranchCode(InputErrorException ie, int branch_code)
        {
            bool flag = true;
            if (branch_code == -1)
            {
                ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_NULL);
                flag = false;
            }
            else
                //長さのチェック
                if (branch_code >= 1000)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_LENGTH_NG);
                    flag = false;
                }
                else if (branch_code < 0)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_HAN_NUM_OK);
                    flag = false;
                }
            return flag;
        }

        /**
        * 支店コードチェック
        */
        public static bool checkBranchCode2(InputErrorException ie, int branch_code)
        {
            bool flag = true;
            if (branch_code == -1)
            {
                ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_NULL_OR_HAN_NUM_OK_);
                flag = false;
            }
            else
                //長さのチェック
                if (branch_code >= 1000)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_LENGTH_NG);
                    flag = false;
                }
                else if (branch_code <= 0)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_ERR);
                    flag = false;
                }
            return flag;
        }

        /**
        *支店コード存在チェックのチェックを行なう（存在時falseを返す）
        *支店が存在しない事を確認する。
        *存在すればエラー、削除されていてもエラー
        *[チェック項目]
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool notexistBranch(InputErrorException ie, String union_code, int branch_code)
        {
            bool flag = true;
            MST_UnionPersister dao1 = new MST_UnionPersister();
            MST_Union_BranchPersister dao2 = new MST_Union_BranchPersister();

            //組合員コード存在チェック
            if (checkUnionCode(ie, union_code))
            {
                MstUnion uni_model = dao1.getDetail(union_code);
                if (uni_model == null)
                {
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_NOT_REG);
                    flag = false;
                }
                else if ((MstUnion.STATUS_DELETE).Equals(uni_model.UnionSts))
                {
                    //組合員コードの削除有無チェック
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_DELETE);
                    flag = false;
                }
                else
                {
                    if (checkBranchCode(ie, branch_code))
                    {
                        mst_union_branch um = dao2.getDetail(union_code, branch_code);
                        if (um != null)
                        {
                            //支店が存在する！
                            ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_REG);
                            flag = false;
                        }
                    }
                    else
                    {
                        flag = false;
                    }
                }
            }
            else
            {
                flag = false;
            }

            return flag;
        }

        /**
         * 支店コード存在チェックのチェックを行なう（存在しない場合falseを返す）
         * 支店が存在する事を確認する。
         * 存在しない、または削除されていた場合にはエラー
         * [チェック項目]
         *
         * @param       InputErrorException
         * @return  boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
         */
        public static bool existBranch(InputErrorException ie, String union_code, int branch_code)
        {
            bool flag = true;
            MST_UnionPersister dao = new MST_UnionPersister();
            MST_Union_BranchPersister bdao = new MST_Union_BranchPersister();
            //組合員コード存在チェック
            if (checkUnionCode(ie, union_code))
            {
                MstUnion uni_model = dao.getDetail(union_code);
                if (uni_model == null)
                {
                    //組合員が存在しない
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_NOT_REG);
                    flag = false;
                }
                else if (MstUnion.STATUS_DELETE.Equals(uni_model.UnionSts))
                {
                    //組合員コードが削除されている
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_DELETE);
                    flag = false;
                }
                else if (branch_code != 0)
                {
                    if (checkBranchCode(ie, branch_code))
                    {
                        mst_union_branch mub = bdao.getDetail(union_code, branch_code);
                        if (mub == null)
                        {
                            //支店が存在しない
                            ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_NOT_REG);
                            flag = false;
                        }
                        else if (MstUnion.STATUS_DELETE.Equals(mub.unionsts))
                        {
                            //支店が削除されている。
                            ie.addErrorCode(ErrorCodeDefine.BRANCH_CODE_IS_DELETE);
                            flag = false;
                        }
                    }
                    else
                    {
                        flag = false;
                    }
                }
            }
            else
            {
                flag = false;
            }
            return flag;
        }
        /**
        *支店等の名称のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkBranchName(InputErrorException ie, String name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_IS_NULL);
                flag = false;
            }
            else
            {
                //全角英数
                if (StringUtil.containsZenkakuAlpha(name) || StringUtil.containsZenkakuSuuji(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_IS_HAN_KANA_NG);
                    flag = false;
                }
                //長さのチェック
                if (StringUtil.length(name) > 128)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_IS_LENGTH_NG);
                    flag = false;
                }
            }
            return flag;
        }
        /**
        *支店等の名称（カナ）のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkBranchNameKana(InputErrorException ie, String name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_KANA_IS_NULL);
                flag = false;
            }
            else
            {
                //長さのチェック
                if (StringUtil.length(name) > 256)
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_KANA_IS_LENGTH_NG);
                    flag = false;
                }
                if (!StringUtil.isKatakana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.BRANCH_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
            }
            return flag;
        }

        /**
           *組合員名のチェックを行なう
           *[チェック項目]
           *
           *
           *@param     InputErrorException
           *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
           */
        public static bool checkOfficeName(InputErrorException ie, string office_name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(office_name))
            {
                ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_IS_NULL));
                flag = false;
            }
            else
            {
                //全角英数
                if (StringUtil.containsZenkakuAlpha(office_name) || StringUtil.containsZenkakuSuuji(office_name))
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_IS_ZEN_ALPAA_NUM_NG));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(office_name))
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_IS_HAN_KANA_NG));
                    flag = false;
                }

                if (StringUtil.length(office_name) > 128)
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
          *組合員名（カナ）のチェックを行なう
          *[チェック項目]
          *
          *
          *@param     InputErrorException
          *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
          */
        public static bool checkOfficeNameKana(InputErrorException ie, string office_name_kana)
        {
            bool flag = true;
            if (StringUtil.isEmpty(office_name_kana))
            {
                ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_KANA_IS_NULL));
                flag = false;
            }
            else
            {
                if (!StringUtil.isKatakana(office_name_kana))
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_KANA_IS_ZEN_ALPAA_NUM_NG));
                    flag = false;
                }
                else if (!StringUtil.isZenkaku(office_name_kana))
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_KANA_IS_ZEN_ALPAA_NUM_NG));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(office_name_kana))
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_KANA_IS_ZEN_ALPAA_NUM_NG));
                    flag = false;
                }

                //長さのチェック
                if (StringUtil.length(office_name_kana) > 256)
                {
                    ie.addErrorCode((ErrorCodeDefine.OFFICE_NAME_KANA_IS_LENGTH_NG));
                    flag = false;
                }
            }

            return flag;
        }

        /**
        *所在地・郵便番号チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkZipNo(InputErrorException ie, String zipno, string zipno1, string zipno2)
        {
            bool flag = true;
            if (StringUtil.isEmpty(zipno1) || StringUtil.isEmpty(zipno2))
            {
                ie.addErrorCode(ErrorCodeDefine.ZIP_NO_IS_NULL);
                flag = false;
            }
            else
            {
                //長さのチェック
                if (zipno1.Length != 3 || zipno2.Length != 4)
                {
                    ie.addErrorCode(ErrorCodeDefine.ZIP_NO_IS_INPUT);
                    flag = false;
                }
                else
                    // 郵便番号が半角ではないの場合 ...
                    if (!StringUtil.isZipNo(zipno))
                    {
                        ie.addErrorCode(ErrorCodeDefine.ZIP_NO_IS_HAN_NUM_OK);
                        flag = false;
                    }
            }

            return flag;
        }


        /**
        *都道府県コードのチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkPrefCode(InputErrorException ie, int code)
        {
            bool flag = true;
            if (code <= 0)
            {
                ie.addErrorCode((ErrorCodeDefine.PREF_CODE_NOT_SELECT));
                flag = false;
            }
            if (code > 47)
            {
                ie.addErrorCode(ErrorCodeDefine.PREF_CODE_IS_SELECT);
                flag = false;
            }

            return flag;
        }
        /**
        *所在地・市区町村チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkCity(InputErrorException ie, string city)
        {
            bool flag = true;
            if (StringUtil.isEmpty(city))
            {
                ie.addErrorCode((ErrorCodeDefine.CITY_IS_NULL));
                flag = false;
            }
            else
            {

                if (!StringUtil.isZenkaku(city))
                {
                    ie.addErrorCode((ErrorCodeDefine.CITY_IS_ZEN_STR_OK));
                    flag = false;
                }
                // 市区町村に半角が含まれる場合 ...
                else if (StringUtil.containsHankakuKana(city))
                {
                    ie.addErrorCode((ErrorCodeDefine.CITY_IS_ZEN_STR_OK));
                    flag = false;
                }
                //長さのチェック
                if (StringUtil.length(city) > 256)
                {
                    ie.addErrorCode((ErrorCodeDefine.CITY_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
        *所在地・番地以降チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkAddress(InputErrorException ie, string address)
        {
            bool flag = true;
            if (StringUtil.isEmpty(address))
            {
                ie.addErrorCode((ErrorCodeDefine.ADDRESS_IS_NULL));
                flag = false;
            }
            else
            {
                if (StringUtil.containsHankakuKana(address))
                {

                    ie.addErrorCode((ErrorCodeDefine.ADDRESS_IS_HAN_KANA_NG));
                    flag = false;
                }

                if (StringUtil.containsZenkakuAlpha(address) || StringUtil.containsZenkakuSuuji(address))
                {

                    ie.addErrorCode((ErrorCodeDefine.ADDRESS_IS_NOT_ZEN_ALPHA_NUM_NG));
                    flag = false;
                }

                if (StringUtil.length(address) > 256)
                {
                    ie.addErrorCode((ErrorCodeDefine.ADDRESS_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
           *電話番号チェックを行なう
           *[チェック項目]
           *
           *
           *@param     InputErrorException
           *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
           */
        public static bool checkTelNo(InputErrorException ie, string tel)
        {
            bool flag = true;
            if (StringUtil.isEmpty(tel))
            {
                ie.addErrorCode((ErrorCodeDefine.TEL_IS_NULL));
                flag = false;
            }
            else
            {
                //長さのチェック
                if (tel.Length > 11)
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else if (tel.Length < 9)
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else if (!StringUtil.isHankakuNumber(tel))
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else
                    // 番号が不適切な場合 ...
                    if (!StringUtil.isTelNo(tel))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        flag = false;
                    }
                    else if (tel.IndexOf("-") != -1)
                    {
                        //"-"が存在したらエラー
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        flag = false;
                    }


            }
            return flag;

        }


        public static bool checkTelNo2(InputErrorException ie, string tel)
        {
            bool flag = true;
            if (!StringUtil.isEmpty(tel))
            {
                //長さのチェック
                if (tel.Length > 11)
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else if (tel.Length < 9)
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else if (!StringUtil.isHankakuNumber(tel))
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                    flag = false;
                }
                else
                    // 番号が不適切な場合 ...
                    if (!StringUtil.isTelNo(tel))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        flag = false;
                    }
                    else if (tel.IndexOf("-") != -1)
                    {
                        //"-"が存在したらエラー
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        flag = false;
                    }


            }
            return flag;

        }

        /**
        *FAX番号チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkFaxNo(InputErrorException ie, string fax)
        {
            bool flag = true;
            if (StringUtil.isEmpty(fax))
            {
                ie.addErrorCode((ErrorCodeDefine.FAX_IS_NULL));
                flag = false;
            }
            else
            {
                //長さのチェック
                if (fax.Length > 11)
                {
                    ie.addErrorCode(ErrorCodeDefine.FAX_IS_INPUT);
                    flag = false;
                }
                else if (fax.Length < 9)
                {
                    ie.addErrorCode(ErrorCodeDefine.FAX_IS_INPUT);
                    flag = false;
                }
                else if (!StringUtil.isHankakuNumber(fax))
                {
                    ie.addErrorCode(ErrorCodeDefine.FAX_IS_INPUT);
                    flag = false;
                }
                else
                    // 番号が不適切な場合 ...
                    if (!StringUtil.isTelNo(fax))
                    {
                        ie.addErrorCode(ErrorCodeDefine.FAX_IS_INPUT);
                        flag = false;
                    }
                    else if (fax.IndexOf("-") != -1)
                    {
                        //"-"が存在したらエラー
                        ie.addErrorCode(ErrorCodeDefine.FAX_IS_INPUT);
                        flag = false;
                    }

            }
            return flag;
        }


        /**
        *EMAIL Addressチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkMailAddress(InputErrorException ie, string email)
        {
            bool flag = true;
            if (StringUtil.isEmpty(email))
            {
                ie.addErrorCode((ErrorCodeDefine.MAILADDRESS_IS_NULL));
                flag = false;
            }
            else
            {

                //if (!StringUtil.isEmpty(email))
                //{
                if (StringUtil.length(email) > 80)
                {
                    ie.addErrorCode((ErrorCodeDefine.MAILADDRESS_IS_LENGTH_NG));
                    flag = false;
                }

                Regex r5 = new Regex(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
                if (!r5.IsMatch(email))
                {
                    ie.addErrorCode((ErrorCodeDefine.MAILADDRESS_IS_INPUT));
                    flag = false;
                }
            }
            return flag;
        }

        //2013/3/17
        public static bool checkMailAddress2(InputErrorException ie, string email)
        {
            bool flag = true;
            if (!StringUtil.isEmpty(email))
            {
                //if (!StringUtil.isEmpty(email))
                //{
                if (StringUtil.length(email) > 80)
                {
                    ie.addErrorCode((ErrorCodeDefine.MAILADDRESS_IS_LENGTH_NG));
                    flag = false;
                }

                Regex r5 = new Regex(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
                if (!r5.IsMatch(email))
                {
                    ie.addErrorCode((ErrorCodeDefine.MAILADDRESS_IS_INPUT));
                    flag = false;
                }
            }
            
            return flag;
        }

        /**
           *代表者名チェックを行なう
           *[チェック項目]
           *
           *
           *@param     InputErrorException
           *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
           */
        public static bool checkDaihyoName(InputErrorException ie, string name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_IS_NULL));
                flag = false;
            }
            else
            {

                if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_IS_NOT_SPACE));
                    flag = false;
                }

                if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(name))
                {

                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_IS_ZEN_STR_OK));
                    flag = false;
                }

                if (StringUtil.length(name) > 24)
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }
        /**
        *代表者名（カナ）チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkDaihyoNameKana(InputErrorException ie, string name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_NULL));
                flag = false;
            }
            else
            {
                if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_NOT_SPACE));
                    flag = false;
                }

                if (!StringUtil.isKatakana(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }

                if (StringUtil.length(name) > 38)
                {
                    ie.addErrorCode((ErrorCodeDefine.DAIHYO_NAME_KANA_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
        *担当者名チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTantoName(InputErrorException ie, string name)
        {
            bool flag = true;
            if (!StringUtil.isEmpty(name))
            {

                if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_IS_NOT_SPACE));
                    flag = false;
                }

                if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_IS_ZEN_STR_OK));
                    flag = false;
                }

                if (StringUtil.length(name) > 20)
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
        *担当者（カナ）チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTantoNameKana(InputErrorException ie, string name)
        {
            bool flag = true;
            //必須ではない
            if (!StringUtil.isEmpty(name))
            {

                if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_KANA_IS_NOT_SPACE));
                    flag = false;
                }
                if (!StringUtil.isKatakana(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_KANA_IS_ZEN_STR_OK));
                    flag = false;
                }
                if (StringUtil.length(name) > 32)
                {
                    ie.addErrorCode((ErrorCodeDefine.TANTO_NAME_KANA_IS_LENGTH_NG));
                    flag = false;
                }
            }
            return flag;
        }

        /**
        * 設置業者登録証番号チェック
        */
        public static bool checkTraderRegNo(InputErrorException ie, string trader_reg_no1, string trader_reg_no2)
        {
            bool ret = true;
            if (StringUtil.isEmpty(trader_reg_no1) && StringUtil.isEmpty(trader_reg_no2))
            {
                //両方空
                ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_NULL);
                ret = false;
            }
            else
                //1,2どちらかが空であればエラー
                if (StringUtil.isEmpty(trader_reg_no1) && !StringUtil.isEmpty(trader_reg_no2))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                }
                else if (StringUtil.isEmpty(trader_reg_no2) && !StringUtil.isEmpty(trader_reg_no1))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                }
                else
                {
                    //半角チェック
                    if (!StringUtil.IsHankaku(trader_reg_no1))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                    if (!StringUtil.IsHankaku(trader_reg_no2))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                    if (StringUtil.containsHankakuKana(trader_reg_no1))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                    if (StringUtil.containsHankakuKana(trader_reg_no2))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                    if (!StringUtil.isHankakuNumber(trader_reg_no2))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                    if (trader_reg_no1.Length != 2 || trader_reg_no2.Length != 5)
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        ret = false;
                    }
                }
            return ret;
        }

        /**
        *登録証番号のチェックを行なう(シール枚数も？）
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTraderRegNo(InputErrorException ie, String trader_reg_no1, String trader_reg_no2, int seal_qty)
        {
            bool flag = true;
            if (StringUtil.isEmpty(trader_reg_no1) && StringUtil.isEmpty(trader_reg_no2) && seal_qty == -1)
            {
                // NULL or 空文字チェック
                ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_NULL);
                flag = false;
            }
            else
            {
                flag = checkTraderRegNo(ie, trader_reg_no1, trader_reg_no2);
            }
            return flag;
        }

        /**
        * 設置業者登録証番号チェック組合員マスタ専用（必須ではない）
        */
        public static bool checkTraderRegNoForUnion(InputErrorException ie, String trader_reg_no1, String trader_reg_no2)
        {
            bool flag = true;
            if (!StringUtil.isEmpty(trader_reg_no1) && !StringUtil.isEmpty(trader_reg_no2))
            {
                if (!StringUtil.IsHankaku(trader_reg_no1))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                if (!StringUtil.IsHankaku(trader_reg_no2))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                if (StringUtil.containsHankakuKana(trader_reg_no1))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                if (StringUtil.containsHankakuKana(trader_reg_no2))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                //数字チェック
                if (!StringUtil.isHankakuNumber(trader_reg_no2))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                //最大文字数制限
                if (trader_reg_no1.Length != 2 || trader_reg_no2.Length != 5)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
            }
            else
            {
                //1,2どちらかが空であればエラー
                if (StringUtil.isEmpty(trader_reg_no1) && !StringUtil.isEmpty(trader_reg_no2))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
                if (StringUtil.isEmpty(trader_reg_no2) && !StringUtil.isEmpty(trader_reg_no1))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                    flag = false;
                }
            }

            return flag;
        }

        /**
        * 設置業者チェック
        * 設置業者が存在する事を確認する。
        * 存在しなければエラー、存在しても削除されていればエラー
        * @return 存在しない場合:False
        */
        public static bool existTrader(InputErrorException ie, string regno, string trader_reg_no1, string trader_reg_no2)
        {
            bool flag = true;
            //パーシスターを作成
            MST_TraderPersister dao = new MST_TraderPersister();
            //Trader_reg_no重複チェック
            if (checkTraderRegNo(ie, trader_reg_no1, trader_reg_no2))
            {
                MstTrader trader = dao.getDetail(regno);
                if (trader == null)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_NOT_REG);
                    flag = false;
                }
                else if (MstTrader.STATUS_DELETE.Equals(trader.TraderSts))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_DELETE);
                    flag = false;
                }
            }
            else
            {
                flag = false;
            }

            return flag;
        }

        /**
        * 設置業者の電話番号チェック
        *
        */
        public static bool checkTraderTelNo(InputErrorException ie, string trader_reg_no, string trader_reg_no1, string trader_reg_no2, string telno)
        {
            bool ret = true;
            //パーシスターを作成
            MST_TraderPersister per = new MST_TraderPersister();
            if (checkTelNo(ie, telno) == false)
            {
                return false;
            }
            //Trader_reg_no重複チェック
            if (checkTraderRegNo(ie, trader_reg_no1, trader_reg_no2))
            {
                MstTrader trader = per.getDetail(trader_reg_no);
                if (trader == null)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_NOT_REG);
                    ret = false;
                }
                else
                    /*if( MST_Trader.STATUS_DELETE.equals(trader.getTrader_sts() ) ){
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_DELETE);
                        ret = false;
                    }else*/
                    if (telno.Equals(trader.TraderTel) == false)
                    {
                        //電話番号が違う
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_DEFARENT_TRADER);
                    }
            }
            else
            {
                ret = false;
            }
            return ret;
        }

        /**
        * 設置業者チェック
        * 設置業者が存在する事を確認する。
        * 存在しなければエラー、存在しても削除されていればエラー
        * @return 存在しない場合:False
        */
        public static bool notexistTrader(InputErrorException ie, string trader_reg_no, string trader_reg_no1, string trader_reg_no2, int seqno)
        {
            bool flag = true;
            //パーシスターを作成
            MST_TraderPersister dao = new MST_TraderPersister();
            //Trader_reg_no重複チェック
            if (checkTraderRegNo(ie, trader_reg_no1, trader_reg_no2))
            {
                MstTrader trader = dao.getDetail(trader_reg_no);
                if (trader != null && trader.TraderSeqno != seqno)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_REG);
                    flag = false;
                }
            }
            else
            {
                flag = false;
            }

            return flag;
        }

        /**
        *設置業者名のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTraderName(InputErrorException ie, String name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_IS_NULL);
                flag = false;
            }
            else
            {
                //設置業者名に半角カナが含まれる場合
                if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_IS_HAN_KANA_NG);
                    flag = false;
                }
                //設置業者名に全角英数かが含まれる場合
                if (StringUtil.containsZenkakuAlpha(name) || StringUtil.containsZenkakuSuuji(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                //長さのチェック
                if (StringUtil.length(name) > 128)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_IS_LENGTH_NG);
                    flag = false;
                }
            }
            return flag;
        }


        /**
        *設置業者名（カナ）のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTraderNameKana(InputErrorException ie, String name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_KANA_IS_NULL);
                flag = false;
            }
            else
            {
                if (!StringUtil.isKatakana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                else if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                else if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_KANA_IS_ZEN_ALPAA_NUM_NG);
                    flag = false;
                }
                //長さのチェック
                else if (StringUtil.length(name) > 256)
                {
                    ie.addErrorCode(ErrorCodeDefine.TRADER_NAME_KANA_IS_NULL);
                    flag = false;
                }
            }
            return flag;
        }

        public static bool checkPassword(InputErrorException ie, String pw)
        {
            bool flag = true;
            if (!StringUtil.isEmpty(pw))
            {
                if (!StringUtil.isAscii(pw))
                {
                    ie.addErrorCode(ErrorCodeDefine.LOGIN_PASSWORD_IS_ERR);
                    flag = false;
                }
            }
            return flag;
        }


        public static bool isNumber(string number)
        {
            bool flag = true;
            Regex r = new Regex(@"^\d+$");
            if (!r.IsMatch(number))
            {
                flag = false;
            }

            return flag;
        }

        public static bool checkLoginAuth(InputErrorException ie, LoginModel M, System.Resources.ResourceManager rm)
        {
            bool flag = true;
            // LogManager.info("ParameterCheckUtility - checkLoginAuth in ");
            if (M.UserID.Trim().Length <= 0)
            {
                ie.addErrorCode(ErrorCodeDefine.LOGIN_UID_IS_NULL);
                flag = false;
            }
            else
            {
                if (M.Unioncode == null || M.Unioncode.Trim().Length <= 0)
                {
                    ie.addErrorCode(ErrorCodeDefine.LOGIN_UID_IS_ERR);
                    flag = false;
                }
                else if (M.Branchcode < 0 || M.Branchcode >= 1000)
                {
                    ie.addErrorCode(ErrorCodeDefine.LOGIN_UID_IS_ERR);
                    flag = false;
                }
                else
                {
                    InputErrorException iee = new InputErrorException(rm);
                    if (!checkUnionCode(iee, M.Unioncode))
                    {
                        // LogManager.info("ParameterCheckUtility checkUnionCode return false");
                        ie.addErrorCode(ErrorCodeDefine.LOGIN_UID_UNKNOWN_USER);
                        flag = false;
                    }

                    if (!checkBranchCode(iee, M.Branchcode))
                    {
                        // LogManager.info("ParameterCheckUtility checkBranchCode return false");
                        ie.addErrorCode(ErrorCodeDefine.LOGIN_UID_UNKNOWN_USER);
                        flag = false;
                    }
                }
            }

            if (M.Password == null || M.Password.Trim().Length <= 0)
            {
                ie.addErrorCode(ErrorCodeDefine.LOGIN_PASSWORD_IS_NULL);
                flag = false;
            }

            else if (!StringUtil.isAscii(M.Password))
            {
                ie.addErrorCode(ErrorCodeDefine.LOGIN_PASSWORD_IS_ERR);
                flag = false;
            }




            //LogManager.info("ParameterCheckUtility checkLoginAuth out");

            return flag;
        }

        /**
        *ユーザー区分チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkUserClss(InputErrorException ie, string clss)
        {
            bool ret = true;
            //必須ではない
            if (StringUtil.isEmpty(clss))
            {
                ie.addErrorCode(ErrorCodeDefine.USER_CLSS_IS_SELECT);
                ret = false;
            }
            return ret;
        }


        /**
         * 受注担当者のチェックを行なう
         * [チェック項目]
         *
         * @param InputErrorException
         * @return boolean: true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
         */
        public static bool checkJuchuTantoName(InputErrorException ie, string name)
        {
            bool flag = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_NULL);
                flag = false;
            }
            else
            {
                if (StringUtil.containsHankakuKana(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                    flag = false;
                }
                if (name.IndexOf("　") != -1 || name.IndexOf(" ") != -1)
                {
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_NOT_SPACE);
                    flag = false;
                }
                if (!StringUtil.isZenkaku(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                    flag = false;
                }
                if (name.Length > 10)
                {
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                    flag = false;
                }
            }
            return flag;
        }

        /**
         * 配達日のチェックを行なう
         * [チェック項目]
         *
         * @param InputErrorException
         * @return boolean: true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
         */
        public static bool checkHopeDate(InputErrorException ie, string yy, string mm, string dd)
        {
            bool flag = true;
            if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
            {
                // NULL or 空文字チェック（all）
                //この項目は必須ではない。
                //ie.addErrorCode( ErrorCodeDefine.HOPE_DATE_IS_NULL );
                flag = false;
            }
            else
            {
                if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（一部でも）
                    ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_INPUT);
                    flag = false;
                }
                else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                {
                    // 半角数字のみチェック
                    ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_HAN_NUM_OK);
                    flag = false;
                }
                else if (!StringUtil.isValidDate(yy, mm, dd))
                {
                    // 日付フォーマットチェック
                    ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_INPUT);
                    flag = false;
                }
                else
                {

                    // 配達希望日は明日以降(現在日は含まれない)
                    DateTime now = System.DateTime.Now;
                    int yyi = int.Parse(yy) + 2000;
                    int mmi = int.Parse(mm);
                    int ddi = int.Parse(dd);

                    if (yyi < now.Year)
                    {
                        // 配達希望日チェック
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                        flag = false;

                    }

                    if (yyi == now.Year && mmi < now.Month)
                    {
                        // 配達希望日チェック
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                        flag = false;

                    }

                    else if (yyi == now.Year && mmi == now.Month && ddi <= now.Day)
                    {
                        // 配達希望日チェック
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                        flag = false;
                    }
                }
               
            }
            return flag;
        }


        /**
        *FAXOCR枚数のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkOcrOrderQty(InputErrorException ie, int ocr_order_qty)
        {
            bool flag = true;
            if (ocr_order_qty < 0)
            {
                ie.addErrorCode(ErrorCodeDefine.OCR_JUCHU_QTY_IS_INPUT);
                flag = false;
            }
            else if (!StringUtil.isHankakuNumber(ocr_order_qty.ToString()))
            {
                ie.addErrorCode(ErrorCodeDefine.OCR_JUCHU_QTY_IS_HAN_NUM_OK);
                flag = false;
            }
            else if (ocr_order_qty % 10 != 0)
            {
                ie.addErrorCode(ErrorCodeDefine.OCR_JUCHU_QTY_IS_10_UNIT);
                flag = false;
            }
            return flag;
        }

        /**
        *シール枚数のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkSealQty(InputErrorException ie, int seal_qty)
        {
            bool flag = true;
            if (seal_qty > 99999)
            {
                ie.addErrorCode(ErrorCodeDefine.SEAL_QTY_IS_LENGTH_NG);
                flag = false;
            }
            else if (seal_qty == -2)
            {
                // 不正な文字列が入力された場合
                ie.addErrorCode(ErrorCodeDefine.SEAL_QTY_IS_HAN_NUM_OK);
                flag = false;
            }
            else if (seal_qty % 100 != 0)
            {
                ie.addErrorCode(ErrorCodeDefine.SEAL_QTY_IS_100_UNIT);
                flag = false;
            }
            return flag;
        }

        /**
        *販売業者登録証番号の重複チェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkTraderNoDuplication(InputErrorException ie, string[] trader_no)
        {
            bool flag = true;
            for (int i = 0; i < 4; i++)
            {
                if (trader_no[i] == null)
                    continue;
                for (int j = 0; j < 4; j++)
                {
                    if (i == j)
                        continue;
                    if (trader_no[i].Equals(trader_no[j]))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TRADER_REG_NO_IS_INPUT);
                        flag = false;
                    }
                }
            }
            return flag;
        }

        /**
        *組合員の制限解除フラグのチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkUnionCancelResetFlag(InputErrorException ie, string union_code) {
            bool flag = true;
            MST_UnionPersister per_Union = new MST_UnionPersister();
            try {
                MstUnion union = per_Union.getDetail(union_code);
                if (union == null) {
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_NOT_REG);
                    flag = false;
                } else {
                    if (MstUnion.CANCEL_REST_FLG_NORMAL.Equals(union.CancelRestFlg))
                    {
                        //解除されていないのでエラー
                        ie.addErrorCode(ErrorCodeDefine.REPORT_RATE_IS_LOW);
                        flag = false;
                    }
                }
            } catch (Exception pe) {
                
            }
            return flag;
        }

        /**
        *注文数のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@param     total_seal_qty
        *@param     orc_qty
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkOrderQty(InputErrorException ie, int total_seal_qty, int orc_qty)
        {
            bool flag = true;
            if ((total_seal_qty + orc_qty) == 0)
            {
                ie.addErrorCode(ErrorCodeDefine.JUCHU_QTY_IS_ZERO);
                flag = false;
            }
            return flag;
        }


        /**
        *受注日のチェックを行なう
        *[チェック項目]
        *
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkJuchuDate(InputErrorException ie, string yy,string mm, string dd)
            {
                bool flag = true;
                if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（all）
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_NULL);
                    flag = false;
                }
                else
                {
                    if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                    {
                        // NULL or 空文字チェック（一部でも）
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_INPUT);
                        flag = false;
                    }
                    else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                    {
                        // 半角数字のみチェック
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_HAN_NUM_OK);
                        flag = false;
                    }
                    else if (!StringUtil.isValidDate(yy, mm, dd))
                    {
                        // 日付フォーマットチェック
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_INPUT);
                        flag = false;
                    }
                }
                return flag;
            }


        /**
        *発送日のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkDelivData(InputErrorException ie, string yy, string mm,string dd)
        {
            bool ret = true;
            if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
            {
                // NULL or 空文字チェック（all）
                ie.addErrorCode(ErrorCodeDefine.DELIV_DATE_IS_NULL);
                ret = false;
            }
            else
            {
                if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（一部でも）
                    ie.addErrorCode(ErrorCodeDefine.DELIV_DATE_IS_INPUT);
                    ret = false;
                }
                else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                {
                    // 半角数字のみチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_DATE_IS_HAN_NUM_OK);
                    ret = false;
                }
                else if (!StringUtil.isValidDate(yy, mm, dd))
                {
                    // 日付フォーマットチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_DATE_IS_INPUT);
                    ret = false;
                }
            }
            return ret;
        }
        /**
        *発送担当者のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkDelivTantoName(InputErrorException ie, string name)
        {
            bool ret = true;
            if (!StringUtil.isEmpty(name))
            {
                if (name.Length > 10)
                {
                    // レングスチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_TANTO_NAME_IS_LENGTH_NG);
                }
                else
                {
                    if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                    {
                        // 半角スペースまたは全角スペースチェック
                        ie.addErrorCode(ErrorCodeDefine.DELIV_TANTO_NAME_IS_NOT_SPACE);
                        ret = false;
                    }
                    if (!StringUtil.isZenkaku(name))
                    {
                        // 全角チェック
                        ie.addErrorCode(ErrorCodeDefine.DELIV_TANTO_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                    if (StringUtil.containsHankakuKana(name))
                    {
                        // 半角カナチェック
                        ie.addErrorCode(ErrorCodeDefine.DELIV_TANTO_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                }
            }
            return ret;
        }
        /**
        *配送会社のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkDelivCompName(InputErrorException ie, string name)
        {
            bool ret = true;
            if (!StringUtil.isEmpty(name))
            {
                if (StringUtil.containsHankakuKana(name))
                {
                    // 半角カナチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_COMPANY_NAME_IS_HAN_KANA_NG);
                    ret = false;
                }
                if (StringUtil.containsZenkakuAlpha(name) || StringUtil.containsZenkakuAlpha(name))
                {
                    // 全角英字、全角数字存在チェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_COMPANY_NAME_IS_ZEN_STR_OK);
                    ret = false;
                }
                if (name.Length > 15)
                {
                    // レングスチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_COMPANY_NAME_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }
        /**
        *伝票番号のチェックを行なう
        *[チェック項目]
        *
        *
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkDelivNo(InputErrorException ie, string str)
        {
            bool ret = true;
            if (!StringUtil.isEmpty(str))
            {
                if (StringUtil.containsHankakuKana(str))
                {
                    // 半角カナチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_NO_IS_HAN_KANA_NG);
                    ret = false;
                }
                if (!StringUtil.IsHankaku(str))
                {
                    // 半角文字チェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_NO_IS_ZEN_STR_OK);
                    ret = false;
                }
                if (str.Length > 15)
                {
                    // レングスチェック
                    ie.addErrorCode(ErrorCodeDefine.DELIV_NO_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }


        /**
         * [代理注文・代理報告]
         * 組合員コード・支店コードの存在チェック（存在しない場合falseを返す）.
         * 支店が存在する事を確認する.
         * 存在しない、または削除されていた場合にはエラー.
         * 
         * 組合員コード
         * 　必須チェック
         * 　半角文字チェック
         * 　半角カナを含まないチェック
         * 　小文字アルファベットを含まないチェック
         * 　組合員コードの許可アルファベットのチェック
         * 　長さチェック
         * 　存在チェック
         * 
         * 支店コード
         * 　必須チェック
         * 　半角数字チェック
         * 　長さチェック
         * 　（組合員コードが存在するときだけ）存在チェック
         *
         * @param ie InputErrorException
         * @param union_code 組合員コード
         * @param branch_code 支店コード
         * @return
         */
        public static bool existUnionBranch( InputErrorException ie, string union_code, string branch_code) {
            bool ret = true;
            MST_UnionPersister per = new MST_UnionPersister();
            //組合員コード存在チェック
            if (checkUnionCode(ie, union_code)) {
                MstUnion uni_model = per.getDetail( union_code);
                if (uni_model == null) {
                    //組合員が存在しない
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_NOT_REG);
                    ret = false;
                }
                else if (MstUnion.STATUS_DELETE.Equals(uni_model.UnionSts))
                {
                    //組合員コードが削除されている
                    ie.addErrorCode(ErrorCodeDefine.UNION_CODE_IS_DELETE);
                    ret = false;
                }
            } else {
                ret = false;
            }
            
            // 支店コード存在チェック
            if (StringUtil.isEmpty(branch_code)) {
                // Null or 空文字
                // 4430=支店コードを入力してください。
                ie.addErrorCode("E4430");
                ret = false;
            }

            if (!branch_code.Equals("000"))
            {
                if (!StringUtil.isHankakuNumber(branch_code))
                {
                    //半角数字
                    // 4431=支店コードには半角数字のみ使用可能です。
                    ie.addErrorCode("E4431");
                    ret = false;
                }
                else if (branch_code.Length != 3)
                {
                    //長さ
                    // 4432=支店コードが不正な長さです。
                    ie.addErrorCode("E4432");
                    ret = false;
                }
                else if (ret)
                {
                    // 組合員コードが存在するときだけ
                    try
                    {
                        // 万一 parse に失敗したら例外を拾う
                        int intBranchCode = int.Parse(branch_code);
                        MST_Union_BranchPersister per2 = new MST_Union_BranchPersister();
                        mst_union_branch uni_model = per2.getDetail(union_code, intBranchCode);
                        if (uni_model == null)
                        {
                            //支店が存在しない
                            // 4433=入力された支店コードは登録されていません。
                            ie.addErrorCode("E4433");
                            ret = false;
                        }
                        else if (MstUnion.STATUS_DELETE.Equals(uni_model.unionsts))
                        {
                            //支店が削除されている。
                            // 4434=入力された支店コードは削除されています。
                            ie.addErrorCode("E4434");
                            ret = false;
                        }
                    }
                    catch (Exception e2)
                    {
                        //半角数字
                        // 4431=支店コードには半角数字のみ使用可能です。
                        ie.addErrorCode("E4431");
                        ret = false;
                    }
                }
            }

            return ret;
        }

        /**
        * 報告担当者チェック
        */
        public static bool checkReportTantoName(InputErrorException ie, string name)
        {
                bool flag = true;
                if (StringUtil.isEmpty(name))
                {
                    ie.addErrorCode(ErrorCodeDefine.REPORT_TANTO_NAME_IS_NULL);
                    flag = false;
                }
                else
                {
                    //半角カナチェック
                    if (StringUtil.containsHankakuKana(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_TANTO_NAME_IS_ZEN_STR_OK);
                        flag = false;
                    }
                    if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_TANTO_NAME_IS_NOT_SPACE);
                        flag = false;
                    }
                    if (!StringUtil.isZenkaku(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_TANTO_NAME_IS_ZEN_STR_OK);
                        flag = false;
                    }
                }
                return flag;
         }

        /**
        * 設置業者区分
        */
        public static bool checkEstCompClss(InputErrorException ie, string comp_clss, string comp_name, string comp_telno) {
            bool flag = true;
            if (StringUtil.isEmpty(comp_clss)) {
                ie.addErrorCode(ErrorCodeDefine.EST_COMP_CLSS_IS_SELECT);
            } else if (TrnReporth.EST_COMP_CLSS_OTHER.Equals(comp_clss)) {
                if (StringUtil.isEmpty(comp_name))
                {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_NAME_IS_NULL);
                }

                //委託販売会社名が入力されている場合、電話番号は必須。
                if (StringUtil.isEmpty(comp_telno))
                {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_NULL);
                    flag = false;
                }
                else
                {
                    if (!checkComsCompTelNo(ie, comp_telno))
                    {
                        flag = false;
                    }
                }

                /*

                if (!StringUtil.isEmpty(comp_name)) {
                    if (!checkComsCompName(ie, comp_name)) {
                        flag = false;
                    }
                    //委託販売会社名が入力されている場合、電話番号は必須。
                    if (StringUtil.isEmpty(comp_telno)) {
                        ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_NULL);
                        flag = false;
                    } else {
                        if (!checkComsCompTelNo(ie, comp_telno)) {
                            flag = false;
                        }
                    }
                } else {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_NAME_IS_NULL);
                    //会社名が入力されていないのに電話番号が入力されている場合
                    if (!StringUtil.isEmpty(comp_telno)) {
                        flag = false;
                        if (!checkComsCompTelNo(ie, comp_telno)) {
                            flag = false;
                        }
                    } else {
                        //両方空はOK
                        
                    }
                }
                 * */
            }
            return flag;
        }
        /**
        * 委託販売会社名
        */
        public static bool checkComsCompName(InputErrorException ie, string comp_name) {
            bool flag = true;
            if(!StringUtil.isEmpty(comp_name)) {
                if (StringUtil.containsHankakuKana(comp_name)) {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_NAME_IS_HAN_KANA_NG);
                    flag = false;
                }
            }
            return flag;
        }
        /**
        * 委託販売会社電話番号
        */
        public static bool checkComsCompTelNo(InputErrorException ie, string telno) {
            bool flag = true;
            if (!StringUtil.isEmpty(telno)) 
            {
                //長さのチェック
                if (telno.Length > 11) {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_INPUT);
                    flag = false;
                } else if (telno.Length < 10) {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_INPUT);
                    flag = false;
                } else if (!StringUtil.isHankakuNumber(telno)) {
                    ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_INPUT);
                    flag = false;
                } else
                    // 番号が不適切な場合 ...
                    if (!StringUtil.isTelNo(telno)) {
                        ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_INPUT);
                        flag = false;
                    } else if (telno.IndexOf("-") != -1) {
                        //"-"が存在したらエラー
                        ie.addErrorCode(ErrorCodeDefine.CONS_COMP_TELNO_IS_INPUT);
                        flag = false;
                    }
            }
            return flag;
        }

        /**
        * 設置遊技機型式名
        */
        public static bool checkMachineName(InputErrorException ie, string name) {
            bool flag = true;
            //必須入力チェック
            if (StringUtil.isEmpty(name)) {
                ie.addErrorCode(ErrorCodeDefine.MACHINE_NAME_IS_NULL);
                flag = false;
            } else {
                if (StringUtil.containsHankakuKana(name)){
                    ie.addErrorCode(ErrorCodeDefine.MACHINE_NAME_IS_HAN_KANA_NG2);
                    flag = false;
                }
            }
            if (name.Length > 256) {
                ie.addErrorCode(ErrorCodeDefine.MACHINE_NAME_IS_LENGTH_NG);
                flag = false;
            }
            return flag;
        }

        /**
        * 設置台数
        */
        public static bool checkMachineQty(InputErrorException ie, int machine_qty) {
            bool ret = true;
            if (machine_qty == -1) {
                ie.addErrorCode(ErrorCodeDefine.MACHINE_QTY_IS_NULL);
                ret = false;
            } else if (machine_qty <= 0) {
                ie.addErrorCode(ErrorCodeDefine.MACHINE_QTY_IS_HAN_NUM_OK);
                ret = false;
            }
            return ret;
        }
        /**
        * 設置日チェック
        */
        public static bool checkEstDate(InputErrorException ie, String yy, String mm, String dd) {
            bool ret = true;
            if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd)) {
                ie.addErrorCode(ErrorCodeDefine.EST_DATE_IS_NULL);
                ret = false;
            } else {
                if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd)) {
                    ie.addErrorCode(ErrorCodeDefine.EST_DATE_IS_INPUT);
                    ret = false;
                } else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd)) {
                    ie.addErrorCode(ErrorCodeDefine.EST_DATE_IS_HAN_NUM_OK);
                    ret = false;
                } else if (!StringUtil.isValidDate(yy, mm, dd)) {
                    ie.addErrorCode(ErrorCodeDefine.EST_DATE_IS_INPUT);
                    ret = false;
                }

                // 配達希望日は明日以降(現在日は含まれない)
                DateTime now = System.DateTime.Now;
                int yyi = int.Parse(yy) + 2000;
                int mmi = int.Parse(mm);
                int ddi = int.Parse(dd);

                if (yyi > now.Year)
                {
                    // 配達希望日チェック
                    ie.addErrorCode("E9008");
                    ret = false;

                }

                if (yyi == now.Year && mmi > now.Month)
                {
                    // 配達希望日チェック
                    ie.addErrorCode("E9008");
                    ret = false;

                }

                else if (yyi == now.Year && mmi == now.Month && ddi > now.Day)
                {
                    // 配達希望日チェック
                    ie.addErrorCode("E9008");
                    ret = false;
                }

            }
            return ret;
        }
        /**
        * 取扱主任者証番号チェック
        */
        public static bool checkChiefNo(InputErrorException ie, string chief_no1, string chief_no2) {
            bool ret = true;
            if (StringUtil.isEmpty(chief_no1) || StringUtil.isEmpty(chief_no2)) {
                ie.addErrorCode(ErrorCodeDefine.CHIEF_NO_IS_NULL);
                ret = false;
            } else {
                //半角チェック
                if (!StringUtil.isHankakuNumber(chief_no1)) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NO_IS_HAN_NUM_OK);
                    ret = false;
                }
                if (!StringUtil.isHankakuNumber(chief_no2)) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NO_IS_HAN_NUM_OK);
                    ret = false;
                }
                if (chief_no1.Length != 2 || chief_no2.Length != 4) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NO_IS_HAN_NUM_OK);
                    ret = false;
                }
            }
            return ret;
        }
   
        /**
        * 取扱主任者名チェック
        */
        public static bool checkChiefName(InputErrorException ie, string name) {
            bool ret = true;
            if (StringUtil.isEmpty(name)) {
                ie.addErrorCode(ErrorCodeDefine.CHIEF_NAME_IS_NULL);
                ret = false;
            } else {
                //半角カナチェック
                if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NAME_IS_NOT_SPACE);
                    ret = false;
                }
                if (!StringUtil.isZenkaku(name)) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NAME_IS_ZEN_STR_OK);
                    ret = false;
                }
                if (StringUtil.containsHankakuKana(name)) {
                    ie.addErrorCode(ErrorCodeDefine.CHIEF_NAME_IS_ZEN_STR_OK);
                    ret = false;
                }
            }
            return ret;
        }

        /**
        * 作業従事者名チェック
        */
        public static bool checkWorkerName(InputErrorException ie, string name)
            {
                bool ret = true;
                if (!StringUtil.isEmpty(name))
                {
                    //半角カナチェック
                    if (name.IndexOf(" ") != -1 || name.IndexOf("　") != -1)
                    {
                        ie.addErrorCode(ErrorCodeDefine.WORK_NAME_IS_NOT_SPACE);
                        ret = false;
                    }
                    else if (!StringUtil.isZenkaku(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.WORK_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                    if (StringUtil.containsHankakuKana(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.WORK_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                }
                return ret;
       }

        /**
        *シール番号のチェックを行なう
        *[チェック項目]
        *
        *@param InputErrorException
        *@param str 確認シール番号(開始)
        *@param end 確認シール番号(終了)
        *@return boolean:   true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkReportSealNo(InputErrorException ie, string str, string end)
        {
            bool ret = true;
            if (StringUtil.isEmpty(str))
            {
                //シール番号(開始)無し
                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_NULL);
                ret = false;
            }
            else
            {
                if (!StringUtil.isEmpty(end))
                {
                    //両方有り
                    //最大文字数制限
                    if (str.Length != 9 || end.Length != 9)
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(str) || !StringUtil.isHankakuNumber(end))
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                }
                else
                {
                    //シール番号(開始)しかない
                    //最大文字数制限
                    if (str.Length != 9)
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(str))
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                }
            }
            return ret;
        }

        /**
        *設置台数のチェックを行なう
        *[チェック項目]
        *
        *@param InputErrorException
        *@param String
        *@return boolean:   true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkMachineClss(InputErrorException ie, string clss)
        {
            bool ret = true;
            if (StringUtil.isEmpty(clss))
            {
                ie.addErrorCode(ErrorCodeDefine.MACHINE_CLSS_IS_SELECT);
                ret = false;
            }
            return ret;
        }

        /**
        * シール番号有効期限チェック
        * @param seal_str_no 確認シール開始番号
        * @param seal_str_end 確認シール終了番号
        * @return エラーの場合false エラーでない場合はtrue
        */
        public static bool checkTerm_validity_sealNo(string seal_str_no, string seal_end_no,System.Resources.ResourceManager rm) {
            
            //プロパティファイルから有効年数を取得
            int effective = int.Parse(rm.GetString("kaidou_effective_year"));
            //プロパティファイルから適用日付を取得
            string appldate = rm.GetString("kaidou_application_date");
            int str_no = 0;
            int end_no = 0;
            int thisYear = 0;
            bool rtn = true;
            
            //カレンダーに適用日付をセット 
            int year=int.Parse(System.DateTime.Now.ToString("yyyy"));
            int month=int.Parse(System.DateTime.Now.ToString("MM"));
            int dat=int.Parse(System.DateTime.Now.ToString("dd"));
            CultureInfo culture = new CultureInfo("ja-JP");
            DateTime calapplicationDate = Convert.ToDateTime((year + "/" + (int.Parse(appldate.Substring(0, 2)) - 1)) + "/" + int.Parse(appldate.Substring(2, 2)), culture);
            
            //今日の日付をセット
            DateTime calTodayDate = System.DateTime.Now;
            thisYear = int.Parse(System.DateTime.Now.ToString("yyyy"));
            //適用日付の前か後かの判断

            //適用日付より後の場合　当年・前年　の入力を許可
            str_no = int.Parse("20" + seal_str_no.Substring(0, 2));
            //シール開始番号をチェック
            if (thisYear < str_no || str_no < thisYear - effective)
            {
                rtn = false;
            }

            if (!StringUtil.isEmpty(seal_end_no) && seal_end_no.Length >= 2)
            {
                //確認シール終了番号あり
                end_no = int.Parse("20" + seal_end_no.Substring(0, 2));
                //シール終了番号をチェック
                if (thisYear < end_no || end_no < thisYear - effective)
                {
                    rtn = false;
                }

            }

            /*
            if (calTodayDate.CompareTo(calapplicationDate)<0) {
                //適用日付より前の場合　当年・前年・前々年　の入力を許可
               
                str_no = int.Parse("20" + seal_str_no.Substring(0,2));

                //シール開始番号をチェック
                if (thisYear < str_no || str_no < thisYear-effective) {
                    rtn = false;
                }

                if (!StringUtil.isEmpty(seal_end_no) && seal_end_no.Length>=2) {
                    //確認シール終了番号あり
                    end_no = int.Parse("20" + seal_end_no.Substring(0,2));
                    //シール終了番号をチェック
                    if (thisYear < end_no || end_no < thisYear-effective) {
                        rtn = false;
                    }

                }
            }
            else {
                //適用日付より後の場合　当年・前年　の入力を許可
                str_no = int.Parse("20" + seal_str_no.Substring(0,2));
                //シール開始番号をチェック
                if (thisYear < str_no || str_no <= thisYear-effective) {
                    rtn = false;
                }

                if (!StringUtil.isEmpty(seal_end_no) && seal_end_no.Length>=2) {
                    //確認シール終了番号あり
                    end_no = int.Parse("20" + seal_end_no.Substring(0,2));
                    //シール終了番号をチェック
                    if (thisYear < end_no || end_no <= thisYear-effective) {
                        rtn = false;
                    }

                }
            }*/
            return rtn;
            
        }

        /**
        *確認シール番号の重複チェックを行なう
        *[チェック項目]
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkSealNoDuplication(InputErrorException ie, string[] seal_str_no, string[] seal_end_no) {
            bool ret = true;
            for (int i = 0; i < 5; i++) {
                if (StringUtil.isEmpty(seal_str_no[i]) && StringUtil.isEmpty(seal_end_no[i]))
                    continue;
                int csno = 0;
                int ceno = 0;
                try {
                    csno = int.Parse(seal_str_no[i]);
                } catch (Exception e) {
                }
                try {
                    ceno = int.Parse(seal_end_no[i]);
                } catch (Exception e) {
                }
                //入力がおかしければ無視
                if (csno == 0)
                    continue;
                if (ceno != 0 && ceno <= csno) {
                    ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                    return false;
                }
                //両方なければ無視
                if (csno == 0 && ceno == 0)
                    continue;
                
                for (int j = 0; j < 5; j++) {
                    if (StringUtil.isEmpty(seal_str_no[i]) && StringUtil.isEmpty(seal_end_no[i]))
                        continue;
                    if (i == j)
                        continue;
                    int sno = 0;
                    int eno = 0;
                    try {
                        sno = int.Parse(seal_str_no[j]);
                    } catch (Exception e) {
                    }
                    try {
                        eno = int.Parse(seal_end_no[j]);
                    } catch (Exception e) {
                    }
                    //入力がおかしければ無視
                    if (sno == 0)
                        continue;
                    if (eno != 0 && eno <= sno) {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        return false;
                    }
                    //両方なければ無視
                    if (sno == 0 && eno == 0)
                        continue;
                    
                    //チェック対象の終了がなし。
                    if (ceno == 0) {
                        if (eno == 0) {
                            //終了無し
                            if (csno == sno) {
                                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                                return false;
                            }
                        } else {
                            //両方有り
                            if (sno <= csno && csno <= eno) {
                                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                                return false;
                            }
                            
                        }
                    } else {
                        if (eno == 0) {
                            //終了無し
                            if (csno <= sno && sno <= ceno) {
                                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                                return false;
                            }
                        } else {
                            //両方有り
                            if (csno <= sno && sno <= ceno) {
                                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                                return false;
                            }
                            if (csno <= eno && eno <= ceno) {
                                ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                                return false;
                            }
                            
                        }
                    }
                }
            }
            
            return true;
        }

        /**
        *ホール名のチェックを行なう
        *[チェック項目]
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkHallName(InputErrorException ie, string name)
        {
            bool ret = true;
            if (StringUtil.isEmpty(name))
            {
                ie.addErrorCode(ErrorCodeDefine.HALL_NAME_IS_NULL);
                ret = false;
            }
            else
            {
                //長さのチェック
                if (name.Length > 80)
                {
                    ie.addErrorCode(ErrorCodeDefine.HALL_NAME_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }

        /**
    *所在地・市区町村チェックを行なう
    *[チェック項目]
    *
    *
    *@param     InputErrorException
    *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
    */
        public static bool checkHallCity(InputErrorException ie, string city)
        {
            bool ret = true;
            if (StringUtil.isEmpty(city))
            {
                ie.addErrorCode(ErrorCodeDefine.CITY_IS_NULL);
                ret = false;
            }
            else
            {
                //長さのチェック
                if (city.Length > 128)
                {
                    ie.addErrorCode(ErrorCodeDefine.CITY_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }

        public static bool checkHallCity2(InputErrorException ie, string city)
        {
            bool ret = true;
            if (StringUtil.isEmpty(city))
            {
                ie.addErrorCode("E9007");
                ret = false;
            }
            else
            {
                //長さのチェック
                if (city.Length > 128)
                {
                    ie.addErrorCode(ErrorCodeDefine.CITY_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }

        /**
    *所在地・番地以降チェックを行なう(設置ホールチェック用）
    *[チェック項目]
    *
    *
    *@param     InputErrorException
    *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
    */
        public static bool checkHallAddress(InputErrorException ie, string address)
        {
            bool ret = true;
            if (StringUtil.isEmpty(address))
            {
                ie.addErrorCode(ErrorCodeDefine.ADDRESS_IS_NULL);
                ret = false;
            }
            else
            {
                
                //長さのチェック
                if (address.Length> 128)
                {
                    ie.addErrorCode(ErrorCodeDefine.ADDRESS_IS_LENGTH_NG);
                    ret = false;
                }
            }
            return ret;
        }

        /**
        * 受信日チェック
        * @param yy 受信日（年）下2桁
        * @param mm 受信日（月）
        * @param dd 受信日（日）
        * @return エラーの場合false　エラーでは無い場合true　(false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkReceiveDate(InputErrorException ie, string yy, string mm, string dd)
        {
            bool ret = true;
            if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
            {
                // NULL or 空文字チェック（all）
                ie.addErrorCode("E4410");
                ret = false;
            }
            else
            {
                if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（一部でも）
                    ie.addErrorCode("E4411");
                    ret = false;
                }
                else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                {
                    // 半角数字のみチェック
                    ie.addErrorCode("E4412");
                    ret = false;
                }
                else if (!StringUtil.isValidDate(yy, mm, dd))
                {
                    // 日付フォーマットチェック
                    ie.addErrorCode("E4411");
                    ret = false;
                }
            }
            return ret;
        }

        /**
         * [代理注文]
         * 注文日時-時刻の入力値チェック
         */
        public static bool checkRcvTime(InputErrorException ie, string time)
        {
            bool ret = true;
            if (StringUtil.isEmpty(time))
            {
                // 4500=注文日時の時刻を入力してください。
                ie.addErrorCode("E4500");
                ret = false;
            }
            else
            {
                if (!StringUtil.isHankakuNumber(time))
                {
                    // 4501=注文日時の時刻には半角数字のみ使用可能です。
                    ie.addErrorCode("E4501");
                    ret = false;
                }
                if (time.Length != 4)
                {
                    // 4502=注文日時の時刻が不正な長さです。
                    ie.addErrorCode("E4502");
                    ret = false;
                }
                if (ret)
                {
                    try
                    {
                        int h = int.Parse(time.Substring(0, 2));
                        int m = int.Parse(time.Substring(2, 2));
                        if (h < 0 || h > 23 || m < 0 || m > 59)
                        {
                            // 4503=注文日時の時刻が不正です。
                            ie.addErrorCode("E4503");
                            ret = false;
                        }
                    }
                    catch (Exception e)
                    {
                        // 4503=注文日時の時刻が不正です。
                        ie.addErrorCode("E4503");
                        ret = false;
                    }
                }
            }
            return ret;
        }

        /**
	    * 注文日チェック
	    * @param yy 受信日（年）下2桁
	    * @param mm 受信日（月）
	    * @param dd 受信日（日）
	    */
            public static bool checkOrderDate(InputErrorException ie, String yy, String mm, String dd)
            {
                bool ret = true;
                if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（all）
                    ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_NULL);
                    ret = false;
                }
                else
                {
                    if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                    {
                        // NULL or 空文字チェック（一部でも）
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_INPUT);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                    {
                        // 半角数字のみチェック
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    else if (!StringUtil.isValidDate(yy, mm, dd))
                    {
                        // 日付フォーマットチェック
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_DATE_IS_INPUT);
                        ret = false;
                    }
                }
                return ret;
            }

            /**
             * [代理注文]
             * 受注担当者のチェックを行なう
             * 　入力は任意
             * 　半角カナ　　　→エラー
             * 　全角スペース　→エラー
             * 　半角スペース　→エラー
             * 　全角でない　　→エラー
             * 　長さが11文字以上　→エラー
           */
            public static bool checkJuchuTantoName_Represen(InputErrorException ie, string name)
            {
                bool ret = true;
                if (StringUtil.isEmpty(name))
                {
                    ret = true;
                }
                else
                {
                    if (StringUtil.containsHankakuKana(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                    if (name.IndexOf("　") != -1 || name.IndexOf(" ") != -1)
                    {
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_NOT_SPACE);
                        ret = false;
                    }
                    if (!StringUtil.isZenkaku(name))
                    {
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                    if (name.Length > 10)
                    {
                        ie.addErrorCode(ErrorCodeDefine.JUCHU_TANTO_NAME_IS_ZEN_STR_OK);
                        ret = false;
                    }
                }
                return ret;
            }

            /**
             * [代理注文]
             * 配達日のチェックを行なう
             *
             * @param InputErrorException
             * @param orderDate 注文日
             * @param yy 配達日-年
             * @param mm 配達日-月
             * @param dd 配達日-日
             */
            public static bool checkHopeDate_Represen(InputErrorException ie, DateTime? orderDate, bool isValidOrderDate, string yy, string mm, string dd)
            {
                bool ret = true;
                if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
                {
                    // NULL or 空文字チェック（all）
                    //この項目は必須ではない。
                    //ie.addErrorCode( ErrorCodeDefine.HOPE_DATE_IS_NULL );
                    ret = false;
                }
                else
                {
                    if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                    {
                        // NULL or 空文字チェック（一部でも）
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_INPUT);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                    {
                        // 半角数字のみチェック
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    else if (!StringUtil.isValidDate(yy, mm, dd))
                    {
                        // 日付フォーマットチェック
                        ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_INPUT);
                        ret = false;
                    }
                   
                    if (isValidOrderDate)
                    {
                        // 配達希望日は明日以降(現在日は含まれない)
                        DateTime now = System.DateTime.Now;
                        int yyi = int.Parse(yy) + 2000;
                        int mmi = int.Parse(mm);
                        int ddi = int.Parse(dd);

                        if (yyi < now.Year)
                        {
                            // 配達希望日チェック
                            ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                            ret = false;

                        }

                        if (yyi == now.Year && mmi < now.Month)
                        {
                            // 配達希望日チェック
                            ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                            ret = false;

                        }

                        else if (yyi == now.Year && mmi == now.Month && ddi <= now.Day)
                        {
                            // 配達希望日チェック
                            ie.addErrorCode(ErrorCodeDefine.HOPE_DATE_IS_IN_FUTURE);
                            ret = false;
                        }
                    }
                }
                     
                return ret;
            }

            /**
           * 報告日チェック
           */
            public static bool checkReportDate(InputErrorException ie, string yy, string mm, string dd)
            {
                bool ret = true;
                if (StringUtil.isEmpty(yy) && StringUtil.isEmpty(mm) && StringUtil.isEmpty(dd))
                {
                    ie.addErrorCode(ErrorCodeDefine.REPORT_DATE_IS_NULL);
                    ret = false;
                }
                else
                {
                    if (StringUtil.isEmpty(yy) || StringUtil.isEmpty(mm) || StringUtil.isEmpty(dd))
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_DATE_IS_INPUT);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(yy) || !StringUtil.isHankakuNumber(mm) || !StringUtil.isHankakuNumber(dd))
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_DATE_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    else if (!StringUtil.isValidDate(yy, mm, dd))
                    {
                        ie.addErrorCode(ErrorCodeDefine.REPORT_DATE_IS_INPUT);
                        ret = false;
                    }
                }
                return ret;
            }

            /**
            <!-- 2003/8/4 T.Sakai change 単一番号のチェックから開始番号と終了番号のチェックへ変更-->
            *シール破棄時のシール番号のチェックを行なう
            *[チェック項目]
            *
            *@param InputErrorException
            *@param String シール開始番号
            *@param String シール終了番号
            *@return boolean:   true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
            */
            public static bool checkSealCancel(InputErrorException ie, string seal_str_no, string seal_end_no)
            {
                bool ret = true;
                int intSTR;
                int intEND;
                //シールチェック
                if (StringUtil.isEmpty(seal_str_no))
                {
                    ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_NULL);
                    ret = false;
                }
                else
                {
                    
                    if (seal_end_no.Trim().Equals(""))
                    {
                        seal_end_no = seal_str_no;
                    }
                    //シール番号が半角ではない場合
                    if ((!StringUtil.IsHankaku(seal_str_no)) || (!StringUtil.IsHankaku(seal_end_no)))
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    //長さのチェック
                    if ((seal_str_no.Length > 9) || (seal_end_no.Length > 9))
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                    try
                    {
                        intSTR = int.Parse(seal_str_no);
                        intEND = int.Parse(seal_end_no);
                        //大小のチェック
                       
                        if (intSTR > intEND)
                        {
                            ie.addErrorCode(ErrorCodeDefine.SEAL_STR_NO_IS_SMALLER);
                            ret = false;
                        }
                        //1000件以内チェック
                        if (intEND - intSTR > 1000)
                        {
                            ie.addErrorCode(ErrorCodeDefine.MAX_CANCEL_SEAL_QTY_IS_1000);
                            ret = false;
                        }
                    }
                    catch (Exception exx)
                    {
                        ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_HAN_NUM_OK);
                        ret = false;
                    }
                }
                return ret;
            }

        /**
        *シール番号の報告ステータスのチェックを行なう
        *[チェック項目]
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkSealHaki(InputErrorException ie, TrnPurchSeal_a model) 
        {
            bool ret = true;
            bool errFLG = false;
            //パーシスターを作成
            TRN_Report_D_Persister RD_per = new TRN_Report_D_Persister();
            TRN_Purch_SealPersister PS_per = new TRN_Purch_SealPersister();
            CountSealByUnionPersister CSU_per = new CountSealByUnionPersister();
            try {
                //シール存在チェック
                
                if (PS_per.getSealCount(new SqlDB(), model) != 0) {
                    //ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_NOT_REG);
                    ie.addErrorCode(ErrorCodeDefine.SOME_SEAL_NO_IS_NOT_REG); // 未登録のシール番号が含まれているため破棄できません。6003
                }
                // 報告済みチェック
               
                if (PS_per.getSealReport(new SqlDB(), model) > 0) {
                    ie.addErrorCode(ErrorCodeDefine.SOME_SEAL_NO_IS_AFTER_REPORT); // 貼付報告済みのシール番号が含まれているため破棄できません。6004
                }
               
                // 破棄済みチェック
                if (PS_per.countCanselSealNo( model.SealStrNo, model.SealEndNo) != 0) {
                    ie.addErrorCode(ErrorCodeDefine.SOME_SEAL_NO_IS_CANCELED); // 破棄済みのシール番号が含まれているため破棄できません。6005
                }
                
                if (ie.getErrorMessages().Count == 0) {
                    SqlDB db = new SqlDB();
                    CSU_per.countSealByUnion(ie, db, model);
                    db.Close();
                }
            } catch (Exception pexx) {
                LogManager.error("parameterCheckUtility checkSealHaki "+pexx.Message+pexx.StackTrace);
            }
            return ret;
        }

        /**
        *シール番号の報告ステータスのチェックを行なう
        *[チェック項目]
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
        public static bool checkSealRevoke(InputErrorException ie, TrnPurchSeal_a model)
        {
            bool ret = true;
            bool errFLG = false;
            //パーシスターを作成
            TRN_Report_D_Persister RD_per = new TRN_Report_D_Persister();
            TRN_Purch_SealPersister PS_per = new TRN_Purch_SealPersister();
            CountSealByUnionPersister CSU_per = new CountSealByUnionPersister();
            try
            {
                //シール存在チェック
                /*
                if (PS_per.getSealCount(new SqlDB(), model) != 0)
                {
                    //ie.addErrorCode(ErrorCodeDefine.SEAL_NO_IS_NOT_REG);
                    ie.addErrorCode(ErrorCodeDefine.SOME_SEAL_NO_IS_NOT_REG); // 未登録のシール番号が含まれているため破棄できません。6003
                }
                // 報告済みチェック

                if (PS_per.getSealReport(new SqlDB(), model) > 0)
                {
                    ie.addErrorCode(ErrorCodeDefine.SOME_SEAL_NO_IS_AFTER_REPORT); // 貼付報告済みのシール番号が含まれているため破棄できません。6004
                }
                */
                // 破棄済みチェック
                if (PS_per.countCanselSealNo2(model.SealStrNo, model.SealEndNo) > 0)
                {
                    ie.addErrorCode("E6009"); // 破棄済みのシール番号が含まれているため破棄できません。6005
                }

                if (ie.getErrorMessages().Count == 0)
                {
                    CSU_per.countSealByUnion(ie, new SqlDB(), model);
                }
            }
            catch (Exception pexx)
            {
                LogManager.error("parameterCheckUtility checkSealRevoke " + pexx.Message + pexx.StackTrace);
            }
            return ret;
        }

        /**
        *ホール検索専用の電話番号チェック
        *[チェック項目]
        *@param     InputErrorException
        *@return    boolean:    true or false (false時 input parameter InputErrorExceptionにエラーコードを設定)
        */
            public static bool checkTelNoForSearchHall(InputErrorException ie, String telno)
            {
                bool ret = true;
                if (StringUtil.isEmpty(telno))
                {
                    ie.addErrorCode(ErrorCodeDefine.TEL_IS_NULL);
                    ret = false;
                }
                else
                {
                    //長さのチェック
                    if (telno.Length > 11)
                    {
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        ret = false;
                    }
                    else if (!StringUtil.isHankakuNumber(telno))
                    {
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        ret = false;
                    }
                    else if (telno.IndexOf("-") != -1)
                    {
                        //"-"が存在したらエラー
                        ie.addErrorCode(ErrorCodeDefine.TEL_IS_INPUT);
                        ret = false;
                    }
                }
                return ret;
            }

    }
}
